package com.zhidisoft.system.dao;

import java.util.List;

import com.zhidisoft.base.dao.IBaseDao;
import com.zhidisoft.system.entity.Function;

/**
 * 功能模块数据库操作接口
 * @author Lu Jianliang
 *
 */
public interface IFunctionDao extends IBaseDao<Function, String> {

	/**
	 * 根据权限类型以及角色的id获取权限信息
	 * @param funcType -权限类型 1表示菜单权限 0表示按钮权限
	 * @param roleIds -角色id
	 * @return
	 */
	List<Function> findFunctions(Integer funcType, String... roleIds);
	
	/**
	 * 根据权限类型获取权限信息
	 * @param funcType
	 * @return
	 */
	List<Function> findFunctions(Integer funcType);
	
	/**
	 * 获取所有权限信息
	 * @return
	 */
	List<Function> findAll();

	/**
	 * 根据角色id获取所有权限信息
	 * @param roleIds
	 * @return
	 */
	List<Function> findByRoleIds(String[] roleIds);

	/**
	 * 通过权限类型和父权限id获取权限信息
	 * @param funcType
	 * @param parentId
	 * @return
	 */
	List<Function> findByParentId(Integer funcType, String parentId);
}
